/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.cpal.entrenamiento.dao.impl;

import com.cpal.entrenamiento.dao.ILineaEntrenamientoDAO;
import com.cpal.entrenamiento.entity.LineaEntrenamiento;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

/**
 *
 * @author onoel
 */
@Repository
public class LineaEntrenamientoDAO extends SqlMapClientDaoSupport implements ILineaEntrenamientoDAO {

    @Override
    public List<LineaEntrenamiento> buscarLineaEntrenamiento(LineaEntrenamiento lineaEntrenamiento) throws DataAccessException {
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("pruebaCodigo", lineaEntrenamiento.getPruebaEjercicio().getPrueba().getCodigo());
        parameterMap.put("ejercicioCodigo", lineaEntrenamiento.getPruebaEjercicio().getEjercicio().getCodigo());
        parameterMap.put("entrenamientoCodigo", lineaEntrenamiento.getEntrenamiento().getCodigo());
        parameterMap.put("estado", lineaEntrenamiento.getEstado());
        parameterMap.put("porcentajeAcierto", lineaEntrenamiento.getPorcentajeAcierto());
        parameterMap.put("observaciones", lineaEntrenamiento.getObservaciones());
        
        return getSqlMapClientTemplate().queryForList("buscarLineaEntrenamiento", parameterMap);
    }

    @Override
    public void eliminarLineaEntrenamiento(LineaEntrenamiento lineaEntrenamiento) throws DataAccessException {
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("pruebaCodigo", lineaEntrenamiento.getPruebaEjercicio().getPrueba().getCodigo());
        parameterMap.put("ejercicioCodigo", lineaEntrenamiento.getPruebaEjercicio().getEjercicio().getCodigo());
        parameterMap.put("entrenamientoCodigo", lineaEntrenamiento.getEntrenamiento().getCodigo());
        
        getSqlMapClientTemplate().update("eliminarLineaEntrenamiento", parameterMap);
    }

    @Override
    public void insertarLineaEntrenamiento(LineaEntrenamiento lineaEntrenamiento) throws DataAccessException {
         Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("pruebaCodigo", lineaEntrenamiento.getPruebaEjercicio().getPrueba().getCodigo());
        parameterMap.put("ejercicioCodigo", lineaEntrenamiento.getPruebaEjercicio().getEjercicio().getCodigo());
        parameterMap.put("entrenamientoCodigo", lineaEntrenamiento.getEntrenamiento().getCodigo());
        parameterMap.put("estado", lineaEntrenamiento.getEstado());
        parameterMap.put("porcentajeAcierto", lineaEntrenamiento.getPorcentajeAcierto());
        parameterMap.put("observaciones", lineaEntrenamiento.getObservaciones());
        
        getSqlMapClientTemplate().insert("buscarLineaEntrenamiento", parameterMap);
    }

    @Override
    public void actualizarLineaEntrenamiento(LineaEntrenamiento lineaEntrenamiento) throws DataAccessException {
         Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("pruebaCodigo", lineaEntrenamiento.getPruebaEjercicio().getPrueba().getCodigo());
        parameterMap.put("ejercicioCodigo", lineaEntrenamiento.getPruebaEjercicio().getEjercicio().getCodigo());
        parameterMap.put("entrenamientoCodigo", lineaEntrenamiento.getEntrenamiento().getCodigo());
        parameterMap.put("estado", lineaEntrenamiento.getEstado());
        parameterMap.put("porcentajeAcierto", lineaEntrenamiento.getPorcentajeAcierto());
        parameterMap.put("observaciones", lineaEntrenamiento.getObservaciones());
        
        getSqlMapClientTemplate().update("buscarLineaEntrenamiento", parameterMap);
    }
}
